package com.goldentrail.goldenapp.client;

import java.util.ArrayList;
import java.util.Hashtable;
import java.util.List;

import org.json.JSONArray;

import com.goldentrail.dataobject.Node;
import com.google.gwt.user.client.rpc.AsyncCallback;

/**
 * The async counterpart of <code>GreetingService</code>.
 */
public interface UploadServiceAsync {

	void upload(String UserName, String name, AsyncCallback<String> callback)
	throws IllegalArgumentException;

	void retrieveGraph(String runID, AsyncCallback<ArrayList<String>> callback);
	
	void convertGraph(AsyncCallback<String> callback);
	
	void retrieveCompleteGraph(ArrayList<String> startNodes, ArrayList<String> throughNodes, ArrayList<String> endNodes, String runID, AsyncCallback<ArrayList<String>> callback);
	
	void getRunIDs(AsyncCallback<String> callback);
	
	void getInvocationIDs(String runID, AsyncCallback<String> callback);
	
	void getDataArtifacts(String runID, AsyncCallback<String> callback);	
	
	void getRecentResults(AsyncCallback<String> callback);
	
	void queryLoV(String provType, AsyncCallback<String> callback);
	
	void getRecentOtherResults(AsyncCallback<String[][]> callback);
	
	void getRecentInputResults(AsyncCallback<String[][]> callback);
	
	void getRecentOutputResults(AsyncCallback<String[][]> callback);
	
	void queryDB(String provType, String dataCode, ArrayList<String> startNodes, ArrayList<String> throughNodes, ArrayList<String> endNodes, AsyncCallback<String[][]> callback);
}


